package com.frank.oj.service;

import com.frank.model.dto.TestJudgeReq;
import com.frank.model.dto.TestJudgeRes;
import com.frank.model.dto.ToJudgeDTO;
import com.frank.model.entity.judge.Judge;
import com.frank.oj.exception.SystemError;

import java.util.HashMap;

/**
 * @author frank
 * @Date 2024/4/26
 */
public interface JudgeService {
    TestJudgeRes testJudge(TestJudgeReq testJudgeReq);

    void judge(Judge judge);

    void compileSpj(String code, Long pid, String language, HashMap<String, String> extraFiles) throws SystemError;

    void compileInteractive(String code, Long pid, String language, HashMap<String, String> extraFiles) throws SystemError;

    void remoteJudge(ToJudgeDTO toJudgeDTO);
}
